package com.design.pattern.designPrinciples.openClose;

import java.math.BigDecimal;

/**
 * create by yufeng on 2021/7/3 00:10
 */
public class OpenCloseTest {

    public static void main(String[] args) {
        ICourse course = new JavaCourse("1", "java架构", new BigDecimal(10000));
        System.out.println("课程id：" + course.getId()
                + "\n课程名称：《" + course.getName() + "》"
                + "\n课程价格：" + course.getPrice()
        );
        // 如果课程要搞活动 价格要打折怎么处理
//        public BigDecimal getPrice() {
//            return price.multiply(new BigDecimal(0.6));
//        }
        // 这样做也行 但是如果明天打5折怎么办 改来改去 风险很大
        // 我们就要进行扩展了

        System.out.println("----------------------------------手动分割线----------------------------------------");

        ICourse course2 = new DiscountJavaCourse("1", "java架构", new BigDecimal(10000));
        System.out.println("课程id：" + course2.getId()
                + "\n课程名称：《" + course2.getName() + "》"
                + "\n课程原价：" + course2.getPrice()
                + "\n课程售价：" + ((DiscountJavaCourse) course2).getDsicountPrice()
        );

    }
}
